<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./lib/vue.js"></script>
    <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
    <style>
        .header {
            background-color: orange;
            height: 80px;
        }

        .left {
            background-color: lightgreen;
            flex: 2;
        }

        .main {
            background-color: lightpink;
            flex: 8;
        }

        .container {
            display: flex;
            height: 800px;
        }

        h1 {
            margin: 0;
            padding: 0;
            font-size: 16px;
        }
        html,body {
            margin: 0;
            padding: 0;
        }
    </style>
</head>

<body>
    <div id="app">
        <router-view></router-view>
        <div class="container">
            <router-view name="left"></router-view>
            <router-view name="main"></router-view>
        </div>
    </div>
    <script>
        var header = {
            template: "<h1 class='header'>Header头部区域</h1>"
        }
        var leftBox = {
            template: "<h1 class='left'>Left区域</h1>"
        }
        var mainBox = {
            template: "<h1 class='main'>MainBox区域</h1>"
        }

        var router = new VueRouter({
            routes: [
                // 一个路径挂在多个子组件
                {
                    path: "/",
                    components: {
                        // 给组件取名,对应router-view中的name
                        "default": header, // 无name时的默认名称
                        "left": leftBox,
                        "main": mainBox
                    }
                }
            ]
        })
        var vm = new Vue({
            el: '#app',
            data: {},
            methods: {},
            router
        });
    </script>
</body>

</html>